/**
 * <copyright>
 * </copyright>
 *
 * $Id$
 */
package edu.cmu.mism.dgjava.data.models.option;

import org.eclipse.emf.ecore.EObject;

import edu.cmu.mism.dgjava.algorithm.impl.TreeNode;

/**
 * <!-- begin-user-doc -->
 * A representation of the model object '<em><b>Option Calculation Result</b></em>'.
 * <!-- end-user-doc -->
 *
 * <p>
 * The following features are supported:
 * <ul>
 *   <li>{@link edu.cmu.mism.dgjava.data.models.option.OptionCalculationResult#getPrice <em>Price</em>}</li>
 *   <li>{@link edu.cmu.mism.dgjava.data.models.option.OptionCalculationResult#getDelta <em>Delta</em>}</li>
 *   <li>{@link edu.cmu.mism.dgjava.data.models.option.OptionCalculationResult#getGamma <em>Gamma</em>}</li>
 *   <li>{@link edu.cmu.mism.dgjava.data.models.option.OptionCalculationResult#getVega <em>Vega</em>}</li>
 *   <li>{@link edu.cmu.mism.dgjava.data.models.option.OptionCalculationResult#getTheta <em>Theta</em>}</li>
 *   <li>{@link edu.cmu.mism.dgjava.data.models.option.OptionCalculationResult#getRho <em>Rho</em>}</li>
 * </ul>
 * </p>
 *
 * @see edu.cmu.mism.dgjava.data.models.option.OptionModelPackage#getOptionCalculationResult()
 * @model
 * @generated
 */
public interface OptionCalculationResult extends EObject {
	/**
	 * Returns the value of the '<em><b>Price</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Price</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Price</em>' attribute.
	 * @see #setPrice(double)
	 * @see edu.cmu.mism.dgjava.data.models.option.OptionModelPackage#getOptionCalculationResult_Price()
	 * @model
	 * @generated
	 */
	double getPrice();

	/**
	 * Sets the value of the '{@link edu.cmu.mism.dgjava.data.models.option.OptionCalculationResult#getPrice <em>Price</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Price</em>' attribute.
	 * @see #getPrice()
	 * @generated
	 */
	void setPrice(double value);

	/**
	 * Returns the value of the '<em><b>Delta</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Delta</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Delta</em>' attribute.
	 * @see #setDelta(double)
	 * @see edu.cmu.mism.dgjava.data.models.option.OptionModelPackage#getOptionCalculationResult_Delta()
	 * @model
	 * @generated
	 */
	double getDelta();

	/**
	 * Sets the value of the '{@link edu.cmu.mism.dgjava.data.models.option.OptionCalculationResult#getDelta <em>Delta</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Delta</em>' attribute.
	 * @see #getDelta()
	 * @generated
	 */
	void setDelta(double value);

	/**
	 * Returns the value of the '<em><b>Gamma</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Gamma</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Gamma</em>' attribute.
	 * @see #setGamma(double)
	 * @see edu.cmu.mism.dgjava.data.models.option.OptionModelPackage#getOptionCalculationResult_Gamma()
	 * @model
	 * @generated
	 */
	double getGamma();

	/**
	 * Sets the value of the '{@link edu.cmu.mism.dgjava.data.models.option.OptionCalculationResult#getGamma <em>Gamma</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Gamma</em>' attribute.
	 * @see #getGamma()
	 * @generated
	 */
	void setGamma(double value);

	/**
	 * Returns the value of the '<em><b>Vega</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Vega</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Vega</em>' attribute.
	 * @see #setVega(double)
	 * @see edu.cmu.mism.dgjava.data.models.option.OptionModelPackage#getOptionCalculationResult_Vega()
	 * @model
	 * @generated
	 */
	double getVega();

	/**
	 * Sets the value of the '{@link edu.cmu.mism.dgjava.data.models.option.OptionCalculationResult#getVega <em>Vega</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Vega</em>' attribute.
	 * @see #getVega()
	 * @generated
	 */
	void setVega(double value);

	/**
	 * Returns the value of the '<em><b>Theta</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Theta</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Theta</em>' attribute.
	 * @see #setTheta(double)
	 * @see edu.cmu.mism.dgjava.data.models.option.OptionModelPackage#getOptionCalculationResult_Theta()
	 * @model
	 * @generated
	 */
	double getTheta();

	/**
	 * Sets the value of the '{@link edu.cmu.mism.dgjava.data.models.option.OptionCalculationResult#getTheta <em>Theta</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Theta</em>' attribute.
	 * @see #getTheta()
	 * @generated
	 */
	void setTheta(double value);

	/**
	 * Returns the value of the '<em><b>Rho</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Rho</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Rho</em>' attribute.
	 * @see #setRho(double)
	 * @see edu.cmu.mism.dgjava.data.models.option.OptionModelPackage#getOptionCalculationResult_Rho()
	 * @model
	 * @generated
	 */
	double getRho();

	/**
	 * Sets the value of the '{@link edu.cmu.mism.dgjava.data.models.option.OptionCalculationResult#getRho <em>Rho</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Rho</em>' attribute.
	 * @see #getRho()
	 * @generated
	 */
	void setRho(double value);
	
	/**
	 * @generated NOT
	 * @return the tree node result generated from binomial pricing model
	 */
	TreeNode[][] getTree();
	
	/**
	 * @generated NOT
	 * @param tree
	 */
	void setTree(TreeNode[][] tree);

} // OptionCalculationResult
